<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
	<meta http-equiv="pragma" content="no-cache" />
    <meta name="author" content="Jayli" />
	<meta name="keywords" content="淘宝UED 前端工程师 拔赤" />	
	<meta name="description" content="淘宝前端工程师拔赤，关注尖端前端技术，关注yui" />
	<meta http-equiv="imagetoolbar" content="no" />
	<meta name="title" content="拔赤的文章列表" />
    <title>“JavaScript Web Applications” 译者序</title>
    <link href="http://jayli.github.com/blog/atom.xml" rel="alternate" title="setImpl" type="application/atom+xml" />
    <link rel="stylesheet" href="http://jayli.github.com/blog/media/css/style.css">
    <link rel="stylesheet" href="http://jayli.github.com/blog/media/css/github.css">
	<style>
	</style>
    <script type="text/javascript" src="http://jayli.github.com/blog/media/js/highlight.pack.js"></script>
    <script type="text/javascript">
      hljs.initHighlightingOnLoad();
    </script>
	<!--[if lte IE 8]>
	<script src="http://a.tbcdn.cn/apps/lottery/00023/index-v3/js/html5.js"></script>
	<![endif]-->
	<meta name="baidu-tc-verification" content="afb6c9df553ef3493d9ee65263df0d55" />
	<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script><script type="text/javascript">uaredirect("http://m.zoojs.org", "http://jayli.github.com/blog");</script>
  </head>
  <body>
    <div id="container">
      <div id="main" role="main">
        <header>
        <h1>“JavaScript Web Applications” 译者序</h1>
        </header>
        <nav>
        <span><a title="home page" class="" href="/blog/index.html">home</a></span>
        <span><a title="tags" class="" href="/blog/tags.html">tags</a></span>
        <span><a title="about" class="" href="/blog/about.html">about me</a></span>
        <span><a title="flickr" class="" href="http://www.flickr.com/photos/lijing00333">flickr</a></span>
        <span><a title="blogroll" class="" href="/blog/links.html">links</a></span>
        <span><a title="projects" class="" href="/blog/projects.html">projects</a></span>
        <span><a title="subscribe me" class="" href="/blog/atom.xml">feed</a></span>
        </nav>
        <article class="content">
        <section class="post">
<p><img src="http://img01.taobaocdn.com/tps/i1/T1YBC9XjJwXXXXXXXX-275-364.png" alt="" /></p>

<blockquote><p>经过将近半年的努力，我和好友一舟共同翻译的 <a href="http://jayli.github.com/jswebapps">JavaScript Web Applications</a> 这本书终于快要和大家见面了，近年来鲜有讲JavaScriptMVC的中文资料，这本书正好填补了这方面的空白，推荐大家一读。</p></blockquote>

<h3>译者序</h3>

<p>从第一眼看到封面这只憨憨的猫头鹰开始，就深深的喜欢上了这本“JavaScript Web Applications“，读了简介和目录之后就已经不能自拔了。这几年鲜有深入讲架构级web app的好书，这让这本“JavaScript Web Applications“更加难得，作为O'rielly第一本专注于讲纯高端JavaScript架构思想的书，凡是有一点“架构情节“的工程师都不应当错过此书。</p>

<p>如今Web应用程序的开发已经越来越向传统应用软件开发靠拢了，Web和应用之间的界限也进一步模糊。传统编程语言中的设计模式、MVC、应用架构等理论也在慢慢的融入Web前端开发。随着服务器端JavaScript和移动终端的兴起，作为一名前端工程师，也深知自己正处在一个深刻变革的年代，面对眼花缭乱的新概念和新技术更应当把握本质认清方向，勇于创新和实践，而这本“JavaScript Web Applications”的出现更是一阵及时雨，为我们工作中遇到的很多难题提供了解决方案和最佳实践。同时，这本书所涵盖的知识点非常全面，从MVC 的基本理论到网络协议、从模块解偶到异步编程模型、从HTML5/CSS3到NodeJS、从软件测试到部署调试，对于很多前端工程师来说，这些知识正是突破自己的瓶颈所亟需的。</p>

<p>这本书将专注于讲述如何构建“优雅又不失高水准”（state of the art）的JavaScript应用，包括软件架构、模板引擎、框架和库、同服务器的消息通信等内容。书中同样提供了大量的示例代码，可以帮助你更深入的理解很多重要的概念。除此之外，作者在MVC和架构方面的很多观点都很有启发性，即使你不是一名JavaScript程序员，读完本书后也会受益匪浅的。</p>

<p>本书作者 Alex MacCaw 是一名Ruby/JavaScript 程序员，是Spine框架的开发者。在翻译本书的过程中，我深深体会到他作为一名优秀工程师所具备的扎实的计算机专业功底和让人敬佩的开源精神。尽管这本书包含大量的专业术语，但作者文笔轻松流畅，即使直接读原文也丝毫不会感觉枯燥，所以我们在翻译过程中也是非常小心，生怕丢掉这种轻松流畅的阅读感觉，尽力为大家原汁原味的呈现本书。当然由于专业知识所限，翻译过程难免疏漏，还希望各位高手批评指正。</p>

<p>最后，我要感谢博文视点的张春雨在译书过程中给予我们的帮助和信任。感谢我的好友王保平（玉伯）对很多关键的技术性问题提出的宝贵意见，还要感谢可爱的同事杨振楠（栋寒）、杨翰文（地极）、李燕青（霸先）、车思慧（灵玉）、陈良（舒克）的细心校对，他们给译文提了很多中肯的建议。当然，最最需要感谢的家中的领导，已经记不得多少次赶译稿加班太晚，得到的不是你的抱怨，而是你的鼓励，心里已经觉得很满足。</p>

<p>李晶（拔赤），张散集（一舟）</p>

<p>2012年02月 北京</p>

</section>
<section class="meta">

<!--span class="tags">
  tagged by 
  
  <a href="/tags.html#javascript web applications" title="javascript web applications">javascript web applications</a>&nbsp;
  
</span-->

<span class="time">
  posted at <time datetime="2012-02-02">2012-02-02</time>
</span>
</section>

<section class="comment">
<div id="disqus_thread"></div>
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = 'jayliblog'; // required: replace example with your forum shortname
	var disqus_identifier = 'urn:uuid:60d35626-d0a1-441f-9815-5a38142eeb3c';

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</section>


        </article>
      </div>
    </div> <!--! end of #container -->
  </body>
</html>
